const db = require("../../database");

module.exports = (req, res) => {
    if (!req.query) return res.cc('nothing get');
    const {ver, address} = req.query;

    let sql = 'select code, deadline from verification where address = ?';
    db.query(sql, address, (err, data)=>{
        if (err) return res.cc(err)
        if (data.length === 0) return res.cc('邮箱地址不存在')
        const {code, deadline} = data[0];
        if (ver !== code) return res.cc('验证码输入错误')
        if (Date.now() > deadline) return res.cc('验证码已过期，请重新发送')

        // 验证通过后需要使当前验证码立即失效，验证过程为明文传输，防止验证码被截获再次使用
        sql = 'update verification set deadline = ? where address = ?';
        db.query(sql, [(deadline-6e5).toString(), address], (err, data) => {
            if (err) return res.cc(err)
            if (data.affectedRows === 0) return res.cc('验证失败请重试')
            res.cc('验证通过', 0)
        })
    })
}